
package com.probiz.estore.system.service;

import java.util.List;

import com.probiz.estore.common.model.system.ShippingMethod;
import com.probiz.estore.core.service.GenericManager;
import com.probiz.estore.eai.shippingchoice.generated.ShippingChoice;

/**
 * ShippingMethod Business Delegate (Proxy) Interface to handle communication
 * between web and persistence layer. Developer introduced interfaces should be
 * declared here. Won't get overwritten.
 * 
 */
public interface ShippingMethodManager extends GenericManager<ShippingMethod> {

	/**
	 * 获得所有运输方式
	 * 
	 * @return
	 */
	public List<ShippingMethod> listAllActive();
	/**
	 * 获得所有未删除的运输方式
	 * @return
	 */
	public List<ShippingMethod> findUnDeletedShippingMethods();
	
	/**
	 * 根据是否支持款到发货和地区id获得可用的配送方式
	 * @param isCod 如果为null则不限定
	 * @param regionId
	 * @return
	 */
	public List<ShippingMethod> findByRegionIdByCod(Boolean isCod,Integer regionId);
	
	public void doImportShippingMethodsForEai(
			List<ShippingChoice> ShippingChoiceList);
}
